Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / MeshChatX.git / files / tests / backend / test_plugin_wasm_bundle.py

Displaying Raw • Download


tests/backend/test_plugin_wasm_bundle.py 9f71f3420c18d5800afb493b723c328d23c7ea12 (9f71f342) Text, 2.30 KB

T8b949e# SPDX-License-Identifier: 0BSD


Tff7b72import T7ee787RNS

Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787plugin_manager Tff7b72import Te6edf3PluginManager
Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787plugin_rsg Tff7b72import Te6edf3create_rsg
Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787plugin_signature Tff7b72import Te6edf3verify_wasm_signature
Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787plugin_wasm_bundle Tff7b72import Tb4b4b4(
Te6edf3append_wasm_signatureTb4b4b4,
Te6edf3bundle_wasmTb4b4b4,
Te6edf3parse_wasm_bundleTb4b4b4,
Te6edf3wasm_payload_without_signatureTb4b4b4,
Tb4b4b4)


Tff7b72def Td2a8ff_minimal_wasmTb4b4b4(Tb4b4b4)Tb4b4b4:
T8b949e# empty module: magic + version
Tff7b72return Ta5d6ffbTa5d6ff"Tffea00\x00Ta5d6ffasmTffea00\x01Tffea00\x00Tffea00\x00Tffea00\x00Ta5d6ff"


Tff7b72def Td2a8fftest_embed_parse_and_signature_stripTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3manifest Tff7b72= Tb4b4b4{
Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffcom.example.wasm-bundleTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffversionTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff1.0.0Ta5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffapiVersionTa5d6ff"Tb4b4b4: T79c0ff1Tb4b4b4,
Ta5d6ff"Ta5d6ffnameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffWasm BundleTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6fffrontendTa5d6ff"Tb4b4b4: Tb4b4b4{Ta5d6ff"Ta5d6ffentryTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fffrontend/main.jsTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftypeTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffjsTa5d6ff"Tb4b4b4}Tb4b4b4,
Ta5d6ff"Ta5d6ffbackendTa5d6ff"Tb4b4b4: Tb4b4b4{Ta5d6ff"Ta5d6ffentryTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffbackend/plugin.wasmTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftypeTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffwasmTa5d6ff"Tb4b4b4}Tb4b4b4,
Tb4b4b4}
Te6edf3files Tff7b72= Tb4b4b4{Ta5d6ff"Ta5d6fffrontend/main.jsTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffexport default Tffd700{}Ta5d6ff"Tb4b4b4}
Te6edf3bundled Tff7b72= Te6edf3bundle_wasmTb4b4b4(Te6edf3_minimal_wasmTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3manifestTb4b4b4, Te6edf3filesTb4b4b4)
Te6edf3parsed Tff7b72= Te6edf3parse_wasm_bundleTb4b4b4(Te6edf3bundledTb4b4b4)
Tff7b72assert Te6edf3parsedTff7b72.Td2a8ffmanifestTb4b4b4[Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ffcom.example.wasm-bundleTa5d6ff"
Tff7b72assert Te6edf3parsedTff7b72.Td2a8fffilesTb4b4b4[Ta5d6ff"Ta5d6fffrontend/main.jsTa5d6ff"Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ffexport default Tffd700{}Ta5d6ff"

Te6edf3identity Tff7b72= Te6edf3RNSTff7b72.Td2a8ffIdentityTb4b4b4(Tb4b4b4)
Te6edf3payload Tff7b72= Te6edf3wasm_payload_without_signatureTb4b4b4(Te6edf3bundledTb4b4b4)
Te6edf3signed Tff7b72= Te6edf3append_wasm_signatureTb4b4b4(Te6edf3bundledTb4b4b4, Te6edf3create_rsgTb4b4b4(Te6edf3payloadTb4b4b4, Te6edf3identityTb4b4b4)Tb4b4b4)
Te6edf3info Tff7b72= Te6edf3verify_wasm_signatureTb4b4b4(Te6edf3signedTb4b4b4)
Tff7b72assert Te6edf3infoTff7b72.Td2a8ffvalid Tff7b72is Tff7b72True
Te6edf3stripped Tff7b72= Te6edf3wasm_payload_without_signatureTb4b4b4(Te6edf3signedTb4b4b4)
Tff7b72assert Te6edf3stripped Tff7b72== Te6edf3payload


Tff7b72def Td2a8fftest_preview_and_install_wasm_bundleTb4b4b4(Te6edf3tmp_pathTb4b4b4)Tb4b4b4:
Te6edf3manifest Tff7b72= Tb4b4b4{
Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffcom.example.wasm-bundleTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffversionTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff1.0.0Ta5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffapiVersionTa5d6ff"Tb4b4b4: T79c0ff1Tb4b4b4,
Ta5d6ff"Ta5d6ffnameTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffWasm BundleTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6fffrontendTa5d6ff"Tb4b4b4: Tb4b4b4{Ta5d6ff"Ta5d6ffentryTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fffrontend/main.jsTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftypeTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffjsTa5d6ff"Tb4b4b4}Tb4b4b4,
Ta5d6ff"Ta5d6ffbackendTa5d6ff"Tb4b4b4: Tb4b4b4{Ta5d6ff"Ta5d6ffentryTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffbackend/plugin.wasmTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftypeTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffwasmTa5d6ff"Tb4b4b4}Tb4b4b4,
Tb4b4b4}
Te6edf3files Tff7b72= Tb4b4b4{Ta5d6ff"Ta5d6fffrontend/main.jsTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffexport default Tffd700{}Ta5d6ff"Tb4b4b4}
Te6edf3bundled Tff7b72= Te6edf3bundle_wasmTb4b4b4(Te6edf3_minimal_wasmTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3manifestTb4b4b4, Te6edf3filesTb4b4b4)
Te6edf3manager Tff7b72= Te6edf3PluginManagerTb4b4b4(Tffa657strTb4b4b4(Te6edf3tmp_pathTb4b4b4)Tb4b4b4)
Te6edf3preview Tff7b72= Te6edf3managerTff7b72.Td2a8ffpreview_from_wasm_bytesTb4b4b4(Te6edf3bundledTb4b4b4)
Tff7b72assert Te6edf3previewTb4b4b4[Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ffcom.example.wasm-bundleTa5d6ff"
Tff7b72assert Te6edf3previewTb4b4b4[Ta5d6ff"Ta5d6ffhas_frontendTa5d6ff"Tb4b4b4] Tff7b72is Tff7b72True
Te6edf3installed Tff7b72= Te6edf3managerTff7b72.Td2a8ffinstall_from_wasm_bytesTb4b4b4(Te6edf3bundledTb4b4b4)
Tff7b72assert Te6edf3installedTb4b4b4[Ta5d6ff"Ta5d6ffidTa5d6ff"Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ffcom.example.wasm-bundleTa5d6ff"
Tff7b72assert Tb4b4b4(
Te6edf3tmp_path Tff7b72/ Ta5d6ff"Ta5d6ffpluginsTa5d6ff" Tff7b72/ Ta5d6ff"Ta5d6ffinstalledTa5d6ff" Tff7b72/ Ta5d6ff"Ta5d6ffcom.example.wasm-bundleTa5d6ff" Tff7b72/ Ta5d6ff"Ta5d6ffplugin.jsonTa5d6ff"
Tb4b4b4)Tff7b72.Td2a8ffis_fileTb4b4b4(Tb4b4b4)


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────